

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using LastFMGenNHibernate.EN.LastFM;
using LastFMGenNHibernate.CAD.LastFM;

namespace LastFMGenNHibernate.CEN.LastFM
{
        public partial class UsuarioRegistradoCEN
        {
        private IUsuarioRegistradoCAD _IUsuarioRegistradoCAD;

        public UsuarioRegistradoCEN(IUsuarioRegistradoCAD _IUsuarioRegistradoCAD)
        {
                this._IUsuarioRegistradoCAD = _IUsuarioRegistradoCAD;
        }

        public int New_ (String p_nombre, String p_correo, bool p_suscrito, Nullable<DateTime> p_fecha, int p_tiempoEscuchado, bool p_SesionIniciada)
        {
                UsuarioRegistradoEN usuarioRegistradoEN = null;
                int oid;

                //Initialized UsuarioRegistradoEN
                usuarioRegistradoEN = new UsuarioRegistradoEN ();
                usuarioRegistradoEN.Nombre = p_nombre;
                usuarioRegistradoEN.Correo = p_correo;
                usuarioRegistradoEN.Suscrito = p_suscrito;
                usuarioRegistradoEN.Fecha = p_fecha;
                usuarioRegistradoEN.TiempoEscuchado = p_tiempoEscuchado;
                usuarioRegistradoEN.SesionIniciada = p_SesionIniciada;
                //Call to UsuarioRegistradoCAD

                oid = _IUsuarioRegistradoCAD.New_ (usuarioRegistradoEN);
                return oid;
        }

        public void ModificarPerfil (int p_UsuarioRegistrado_OID, String p_nombre, String p_correo, bool p_suscrito, Nullable<DateTime> p_fecha, int p_tiempoEscuchado, bool p_SesionIniciada)
        {
                UsuarioRegistradoEN usuarioRegistradoEN = null;

                //Initialized UsuarioRegistradoEN
                usuarioRegistradoEN = new UsuarioRegistradoEN ();
                usuarioRegistradoEN.Id = p_UsuarioRegistrado_OID;
                usuarioRegistradoEN.Nombre = p_nombre;
                usuarioRegistradoEN.Correo = p_correo;
                usuarioRegistradoEN.Suscrito = p_suscrito;
                usuarioRegistradoEN.Fecha = p_fecha;
                usuarioRegistradoEN.TiempoEscuchado = p_tiempoEscuchado;
                usuarioRegistradoEN.SesionIniciada = p_SesionIniciada;
                //Call to UsuarioRegistradoCAD

                _IUsuarioRegistradoCAD.ModificarPerfil (usuarioRegistradoEN);
        }

        public void DarseDeBaja (int id)
        {
                _IUsuarioRegistradoCAD.DarseDeBaja (
                        id

                        );
        }

        public void BorrarAmigo (int id)
        {
                _IUsuarioRegistradoCAD.BorrarAmigo (
                        id

                        );
        }

        public void Destroy (int id)
        {
                _IUsuarioRegistradoCAD.Destroy (
                        id

                        );
        }

        public void Modify (int p_UsuarioRegistrado_OID, String p_nombre, String p_correo, bool p_suscrito, Nullable<DateTime> p_fecha, int p_tiempoEscuchado, bool p_SesionIniciada)
        {
                UsuarioRegistradoEN usuarioRegistradoEN = null;

                //Initialized UsuarioRegistradoEN
                usuarioRegistradoEN = new UsuarioRegistradoEN ();
                usuarioRegistradoEN.Id = p_UsuarioRegistrado_OID;
                usuarioRegistradoEN.Nombre = p_nombre;
                usuarioRegistradoEN.Correo = p_correo;
                usuarioRegistradoEN.Suscrito = p_suscrito;
                usuarioRegistradoEN.Fecha = p_fecha;
                usuarioRegistradoEN.TiempoEscuchado = p_tiempoEscuchado;
                usuarioRegistradoEN.SesionIniciada = p_SesionIniciada;
                //Call to UsuarioRegistradoCAD

                _IUsuarioRegistradoCAD.Modify (usuarioRegistradoEN);
        }

        public System.Collections.Generic.IList<UsuarioRegistradoEN> DevolverUsuarios (int first, int size)
        {
                System.Collections.Generic.IList<UsuarioRegistradoEN> list = null;

                list = _IUsuarioRegistradoCAD.DevolverUsuarios (first, size);
                return list;
        }
        }
}
